package com.um.jdy.ykc.command;

import com.um.jdy.ykc.utils.RadixsUtil;
import lombok.Data;

/**
 * 远程启动充电命令回复（充电桩->运营平台）
 *
 * @author 甘天伟
 * @since 2022/6/28
 * 版权所有 广州优匠科技有限公司
 */
@Data
public class Cmd33ServerStartChargeResponse extends YkcCommand {

    /**
     * 交易流水号：16个字节
     */
    private String transactionNo;

    /**
     * 桩编码：7个字节
     */
    private String code;

    /**
     * 枪号：1个字节
     */
    private int gunNo;

    /**
     * 启动结果：1个字节 0x00失败 0x01成功
     */
    private int status;

    /**
     * 失败原因：1个字节
     */
    private int faultReason;

    public Cmd33ServerStartChargeResponse() {
        this.command = RadixsUtil.hexToInteger("33");
    }

    @Override
    public void parseBytes(byte[] bytes){
        super.parseBytes(bytes);
        transactionNo = RadixsUtil.bytesToHexString(readBytes(data,0,16));
        code = RadixsUtil.bytesToHexString(readBytes(data,16,7));
        gunNo = RadixsUtil.byteToInteger(data[23]);
        status = RadixsUtil.byteToInteger(data[24]);
        faultReason = RadixsUtil.byteToInteger(data[25]);

        transactionNo = RadixsUtil.getTransactionNo(transactionNo);
        code = RadixsUtil.getCode(code);
    }
}
